﻿using System;
using System.Collections.Generic;
using USU.MetricsMonitor.DiffProvider;
using USU.MetricsMonitor.LogParser;

namespace USU.MetricsMonitor.Metrics
{
    [Serializable]
    public abstract class MetricCollection
    {
        public string ProjectName
        {
            get;
            set;
        }

        public string MetricName
        {
            get;
            set;
        }

        public string Description
        {
            get;
            set;
        }

        public List<MetricBase> Metrics
        {
            get;
            set;
        }

        public abstract void Calculate(IEnumerable<RevisionInfo> parsedLog, BaseDiffProvider diffProvider, string projectName, string whiteList, string blackList);
    }
}
